// 管理员添加分类云函数
exports.main = async (event, context) => {
  try {
    // 检查管理员权限
    // const adminId = context.uid;
    // if (!adminId) {
    //   return {
    //     code: 401,
    //     message: '需要管理员权限'
    //   };
    // }
    
    const { name, icon } = event;
    
    // 验证必要参数
    if (!name) {
      return {
        code: 400,
        message: '请输入分类名称'
      };
    }
    
    const db = uniCloud.database();
    
    // 检查分类名称是否已存在
    const existingCategory = await db.collection('categories')
      .where({
        name: name.trim()
      })
      .get();
    
    if (existingCategory.data && existingCategory.data.length > 0) {
      return {
        code: 400,
        message: '该分类名称已存在'
      };
    }
    
    // 创建分类记录
    const categoryData = {
      name: name.trim(),
      icon: icon || '📊', // 默认图标
      createTime: new Date(),
      updateTime: new Date(),
      status: 'active' // 分类状态
    };
    
    const result = await db.collection('categories').add(categoryData);
    
    if (!result || !result.id) {
      throw new Error('添加分类失败');
    }
    
    return {
      code: 0,
      message: '添加分类成功',
      data: {
        ...categoryData,
        _id: result.id
      }
    };
    
  } catch (error) {
    console.error('添加分类失败:', error);
    return {
      code: 500,
      message: '添加分类失败，请稍后重试'
    };
  }
};